package com.gt.aep.base.service.systemManage;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gt.aep.base.dao.systemManage.SysRoleUserDao;
import com.gt.aep.base.entity.systemManage.SysRole;
import com.gt.aep.base.entity.systemManage.SysRoleUser;
import com.gt.aep.base.entity.systemManage.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SysRoleUserService {

    @Autowired
    SysRoleUserDao sysRoleUserDao;

    /**
     * 新增角色-用户关系
     * @param sysRoleUser
     * @return
     */
    public int insert(SysRoleUser sysRoleUser){
        return sysRoleUserDao.insert(sysRoleUser);
    }

    /**
     * 修改用户-角色信息
     * @param sysRoleUser
     * @return
     */
    public int update(SysRoleUser sysRoleUser){
        return sysRoleUserDao.update(sysRoleUser);
    }

    /**
     * 批量删除用户-角色
     * @param ids
     * @return
     */
    public int delete(String[] ids){
        return sysRoleUserDao.delete(ids);
    }

    /**
     * 根据角色ID获取列表
     * @param rid
     * @return
     */
    public List<SysUser> getUserListByRid(String rid){
        return sysRoleUserDao.getUserListByRid(rid);
    }

    /**
     * 根据角色ID获取列表
     * @param rid
     * @return
     */
    public int getUserCountByRid(String rid){
        return sysRoleUserDao.getUserCountByRid(rid);
    }

    /**
     * 根据用户id获取相关列表
     * @param uid
     * @return
     */
    public List<SysRole> getRoleListByUid(String uid){
        return sysRoleUserDao.getRoleListByUid(uid);
    }

    /**
     * 根据用户id获取相关列表count
     * @param uid
     * @return
     */
    public int getRoleCountByUid(String uid){
        return sysRoleUserDao.getRoleCountByUid(uid);
    }

    /**
     * 删除所有与 userId 相关的记录
     * @param userId
     * @return
     */
    public int deleteByUid(String userId) {
        return  sysRoleUserDao.deleteByUid(userId);
    }

    /**
     * 删除所有与 roleId 相关的记录
     * @param roleId
     * @return
     */
    public int deleteByRid(String roleId) {
        return sysRoleUserDao.deleteByRid(roleId);
    }
}
